package com.shrct.businessprocess.product;

import com.shrct.businessprocess.product.RCServiceDuration;
import com.shrct.businessprocess.product.RCServiceLevel;
import com.shrct.businessprocess.product.RCServiceResponseTime;
import com.shrct.businessprocess.product.impl.RCServiceDurationImpl;
import com.shrct.businessprocess.product.impl.RCServiceLevelImpl;
import com.shrct.businessprocess.product.impl.RCServiceResponseTimeImpl;
import edu.fudan.mylang.pf.BaseDataType;
import javax.persistence.CascadeType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

public class RCServiceInfo extends BaseDataType {
  public RCServiceInfo() {
    super();
  }
  
  @JoinColumn(name = "serviceLevel_id")
  @ManyToOne(targetEntity = RCServiceLevelImpl.class, cascade = { CascadeType.MERGE, CascadeType.PERSIST })
  private RCServiceLevel serviceLevel;
  
  public RCServiceLevel getServiceLevel() {
    return this.serviceLevel;
  }
  
  public RCServiceInfo setServiceLevel(final RCServiceLevel serviceLevel) {
    this.serviceLevel = serviceLevel;
    return this;			
    
  }
  
  @JoinColumn(name = "serviceResponseTime_id")
  @ManyToOne(targetEntity = RCServiceResponseTimeImpl.class, cascade = { CascadeType.MERGE, CascadeType.PERSIST })
  private RCServiceResponseTime serviceResponseTime;
  
  public RCServiceResponseTime getServiceResponseTime() {
    return this.serviceResponseTime;
  }
  
  public RCServiceInfo setServiceResponseTime(final RCServiceResponseTime serviceResponseTime) {
    this.serviceResponseTime = serviceResponseTime;
    return this;			
    
  }
  
  @JoinColumn(name = "serviceDuration_id")
  @ManyToOne(targetEntity = RCServiceDurationImpl.class, cascade = { CascadeType.MERGE, CascadeType.PERSIST })
  private RCServiceDuration serviceDuration;
  
  public RCServiceDuration getServiceDuration() {
    return this.serviceDuration;
  }
  
  public RCServiceInfo setServiceDuration(final RCServiceDuration serviceDuration) {
    this.serviceDuration = serviceDuration;
    return this;			
    
  }
  
  private Integer monthes;
  
  public Integer getMonthes() {
    return this.monthes;
  }
  
  public RCServiceInfo setMonthes(final Integer monthes) {
    this.monthes = monthes;
    return this;			
    
  }
  
  public static RCServiceInfo create() {
    return new RCServiceInfo();
    
    
  }
}
